#ifndef _GLOBAL_H_
#define _GLOBAL_H_

#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0501
#endif

#ifdef __cplusplus
extern "C"
{
#endif

#include <ntifs.h>
//#include <ntddk.h>
//#include <ntddstor.h>
//#include <mountdev.h>
//#include <ntddvol.h>
#include <ntstrsafe.h>
#include <ntimage.h>
#include <intrin.h>

#ifdef __cplusplus
}
#endif

#include "log.h"

#define PJT_NAME L"\\DriverDemoPP"


#define DEF_CSRSS_NAME		"csrss.exe"
#define DEF_SVCHOST_NAME	"svchost.exe"
#define DEF_EXPLORER_NAME	"explorer.exe"
#define DEF_TASKMGR_NAME	"taskmgr.exe"

#define MAX_PATH	260

void* RtlAllocateMemory(bool InZeroMemory, SIZE_T InSize);
void RtlFreeMemory(void* InPointer);
NTSTATUS RtlSuperCopyMemory(IN VOID UNALIGNED* Destination, IN CONST VOID UNALIGNED* Source, IN ULONG Length);

#endif